'\" et
.TH POSIX_TRACE_GET_ATTR "3P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
.\"
.SH PROLOG
This manual page is part of the POSIX Programmer's Manual.
The Linux implementation of this interface may differ (consult
the corresponding Linux manual page for details of Linux behavior),
or the interface may not be implemented on Linux.
.\"
.SH NAME
posix_trace_get_attr,
posix_trace_get_status
\(em retrieve the trace attributes or trace status
(\fBTRACING\fP)
.SH SYNOPSIS
.LP
.nf
#include <trace.h>
.P
int posix_trace_get_attr(trace_id_t \fItrid\fP, trace_attr_t *\fIattr\fP);
int posix_trace_get_status(trace_id_t \fItrid\fP,
    struct posix_trace_status_info *\fIstatusinfo\fP);
.fi
.SH DESCRIPTION
The
\fIposix_trace_get_attr\fR()
function shall copy the attributes of the active trace stream
identified by
.IR trid
into the object pointed to by the
.IR attr
argument.
If the Trace Log option is supported,
.IR trid
may represent a pre-recorded trace log.
.P
The
\fIposix_trace_get_status\fR()
function shall return, in the structure pointed to by the
.IR statusinfo
argument, the current trace status for the trace stream identified by
the
.IR trid
argument. These status values returned in the structure pointed to by
.IR statusinfo
shall have been appropriately read to ensure that the returned values
are consistent.
If the Trace Log option is supported and the
.IR trid
argument refers to a pre-recorded trace stream, the status shall be the
status of the completed trace stream.
.P
Each time the
\fIposix_trace_get_status\fR()
function is used, the overrun status of the trace stream shall be reset
to POSIX_TRACE_NO_OVERRUN
immediately after the call completes.
If the Trace Log option is supported, the
\fIposix_trace_get_status\fR()
function shall behave the same as when the option is not supported
except for the following differences:
.IP " *" 4
If the
.IR trid
argument refers to a trace stream with log, each time the
\fIposix_trace_get_status\fR()
function is used, the log overrun status of the trace stream shall be
reset to POSIX_TRACE_NO_OVERRUN and the
.IR flush_error
status shall be reset to zero immediately after the call completes.
.IP " *" 4
If the
.IR trid
argument refers to a pre-recorded trace stream, the status returned
shall be the status of the completed trace stream and the status values
of the trace stream shall not be reset.
.SH "RETURN VALUE"
Upon successful completion, these functions shall return a value of
zero. Otherwise, they shall return the corresponding error number.
.P
The
\fIposix_trace_get_attr\fR()
function stores the trace attributes in the object pointed to by
.IR attr ,
if successful.
.P
The
\fIposix_trace_get_status\fR()
function stores the trace status in the object pointed to by
.IR statusinfo ,
if successful.
.SH ERRORS
These functions shall fail if:
.TP
.BR EINVAL
The trace stream argument
.IR trid
does not correspond to a valid active trace stream or a valid trace
log.
.LP
.IR "The following sections are informative."
.SH EXAMPLES
None.
.SH "APPLICATION USAGE"
None.
.SH RATIONALE
None.
.SH "FUTURE DIRECTIONS"
The
\fIposix_trace_get_attr\fR()
and
\fIposix_trace_get_status\fR()
functions may be removed in a future version.
.SH "SEE ALSO"
.ad l
.IR "\fIposix_trace_attr_destroy\fR\^(\|)",
.IR "\fIposix_trace_close\fR\^(\|)",
.IR "\fIposix_trace_create\fR\^(\|)"
.ad b
.P
The Base Definitions volume of POSIX.1\(hy2017,
.IR "\fB<trace.h>\fP"
.\"
.SH COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form
from IEEE Std 1003.1-2017, Standard for Information Technology
-- Portable Operating System Interface (POSIX), The Open Group Base
Specifications Issue 7, 2018 Edition,
Copyright (C) 2018 by the Institute of
Electrical and Electronics Engineers, Inc and The Open Group.
In the event of any discrepancy between this version and the original IEEE and
The Open Group Standard, the original IEEE and The Open Group Standard
is the referee document. The original Standard can be obtained online at
http://www.opengroup.org/unix/online.html .
.PP
Any typographical or formatting errors that appear
in this page are most likely
to have been introduced during the conversion of the source files to
man page format. To report such errors, see
https://www.kernel.org/doc/man-pages/reporting_bugs.html .
